package com.shu.collection;

import lombok.extern.slf4j.Slf4j;

import java.util.ArrayDeque;

/**
 * @author ssm
 * @version V1.0
 * @description:
 * @date 2020/8/18 9:15
 */
@Slf4j
public class ArrayDequeStack {
    static ArrayDeque stack = new ArrayDeque();

    public static void main(String[] args) {

        // 依次将三个元素 push 入 "栈"
        stack.push("Java SE");
        stack.push("Java EE");
        stack.push("Java ME");
        // 输出：[Java ME，Java EE，Java SE]
        System.out.println(stack);
        // 访问第一个元素，但并不将其 pop 出 "栈"，输出：Java ME
        System.out.println(stack.peek());
        // 依然输出：[Java ME，Java EE，Java SE]
        System.out.println(stack);
        //pop 出第一个元素，输出：Java ME
        System.out.println(stack.pop());
        //输出：[Java EE，Java SE]
        System.out.println(stack);

        testQueue();
    }

    private static void testQueue() {
        stack.stream().forEach(x -> stack.remove());

        log.info("{}", stack.peek());
        log.info("{}", stack.element());

        // 队列
        stack.offer("1");
        stack.offerFirst("2");
        stack.offerLast("3");
        stack.stream().forEach(System.out::println);
    }
}
